import axios from 'axios';

const instance = axios.create({
  headers: {
    'Cache-Control': 'no-cache', // 禁用缓存
  },
});

const parseReturn = (jsonpText?: string) => {
  // 匹配 JSON 数据的正则表达式
  const regExp = /^jsonpgz\((.*)\);$/;

  // 使用正则表达式进行匹配，并提取第一个分组的内容
  const match = jsonpText?.match(regExp);
  if (match && match.length > 1) {
    const jsonText = match[1];
    // 解析 JSON 字符串
    const obj = JSON.parse(jsonText);
    return obj;
  } else {
    const obj = JSON.parse(jsonpText ?? '');
    return obj;
  }
};
export const corsRequest = {
  get: async (url: string) => {
    const res: any = await axios.get(
      `https://api.allorigins.win/get?url=${encodeURIComponent(url)}`,
      {
        // 设置响应类型为 JSON
        responseType: 'json',
      },
    );
    const data = parseReturn(res?.data?.contents);
    return data;
  },
};

export default instance;
